﻿using System;

namespace UnityEngine.PostProcessing
{
	// Token: 0x020000F7 RID: 247
	[Serializable]
	public class DepthOfFieldModel : PostProcessingModel
	{
		// Token: 0x1700009B RID: 155
		// (get) Token: 0x0600061F RID: 1567 RVA: 0x000253D0 File Offset: 0x000235D0
		// (set) Token: 0x06000620 RID: 1568 RVA: 0x000253D8 File Offset: 0x000235D8
		public DepthOfFieldModel.Settings settings
		{
			get
			{
				return this.m_Settings;
			}
			set
			{
				this.m_Settings = value;
			}
		}

		// Token: 0x06000621 RID: 1569 RVA: 0x000253E4 File Offset: 0x000235E4
		public override void Reset()
		{
			this.m_Settings = DepthOfFieldModel.Settings.defaultSettings;
		}

		// Token: 0x040005C7 RID: 1479
		[SerializeField]
		private DepthOfFieldModel.Settings m_Settings = DepthOfFieldModel.Settings.defaultSettings;

		// Token: 0x020000F8 RID: 248
		public enum KernelSize
		{
			// Token: 0x040005C9 RID: 1481
			Small,
			// Token: 0x040005CA RID: 1482
			Medium,
			// Token: 0x040005CB RID: 1483
			Large,
			// Token: 0x040005CC RID: 1484
			VeryLarge
		}

		// Token: 0x020000F9 RID: 249
		[Serializable]
		public struct Settings
		{
			// Token: 0x1700009C RID: 156
			// (get) Token: 0x06000622 RID: 1570 RVA: 0x000253F4 File Offset: 0x000235F4
			public static DepthOfFieldModel.Settings defaultSettings
			{
				get
				{
					return new DepthOfFieldModel.Settings
					{
						focusDistance = 10f,
						aperture = 5.6f,
						focalLength = 50f,
						useCameraFov = false,
						kernelSize = DepthOfFieldModel.KernelSize.Medium
					};
				}
			}

			// Token: 0x040005CD RID: 1485
			[Tooltip("Distance to the point of focus.")]
			[Min(0.1f)]
			public float focusDistance;

			// Token: 0x040005CE RID: 1486
			[Range(0.05f, 32f)]
			[Tooltip("Ratio of aperture (known as f-stop or f-number). The smaller the value is, the shallower the depth of field is.")]
			public float aperture;

			// Token: 0x040005CF RID: 1487
			[Range(1f, 300f)]
			[Tooltip("Distance between the lens and the film. The larger the value is, the shallower the depth of field is.")]
			public float focalLength;

			// Token: 0x040005D0 RID: 1488
			[Tooltip("Calculate the focal length automatically from the field-of-view value set on the camera.")]
			public bool useCameraFov;

			// Token: 0x040005D1 RID: 1489
			[Tooltip("Convolution kernel size of the bokeh filter, which determines the maximum radius of bokeh. It also affects the performance (the larger the kernel is, the longer the GPU time is required).")]
			public DepthOfFieldModel.KernelSize kernelSize;
		}
	}
}
